package threadTest.CASTest;

import java.util.concurrent.atomic.AtomicInteger;

/**
 * 功能描述: CAS 比较内存中的值, 如果相等则更新内存中的值, 不相等则不更新
 * 缺点:
 *   循环耗时
 *   ABA问题
 *   一次只能保证一个变量的原子操作
 * 2024/03/13
 * <p>
 * ZhangYi
 */
public class CASTest01 {
    public static void main(String[] args) {
        AtomicInteger au = new AtomicInteger(2020);

        System.out.println(au.compareAndSet(2020,
                                            2021));

        System.out.println(au.get());

        System.out.println(au.compareAndSet(2020,
                                            2021));

        System.out.println(au.get());
    }
}
